package com.mzx.javase.method;

/**
 * @Description:方法的递归
 * @Date: 2021/11/10 16:03
 * @Author: MarKing
 */
public class DiGuiMethod {
    /*
    * 递归：方法中调用方法的本身，叫做递归方法
    * 递归方法一定有出口，逐层向出口靠近
    * */
    //递归三要素:递归条件，递归体，递归出口

    /**
     * 在不使用递归的条件下，计算1-n的和
     * @param n
     * @return
     */
    public static int sum(int n) {
        int result = 0;
        for (int i = 1; i <= n; i++) {
            result += i;
        }
        return result;
    }

    public static int diguiSum(int n) {
        if (n == 1) {
            return 1;
        }
        return n += diguiSum(n - 1);
    }
    public static void main(String[] args) {
        int sum = sum(5);//循环调用
        System.out.println(sum);
        System.out.println(diguiSum(3));
    }

}
